home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / dev / amos / PrgCollection.lha / Scheinwerfer3.AMOS / Scheinwerfer3.amosSourceCode
Encoding:
AMOS Source Code  |  1994-03-12  |  1.7 KB  |  68 lines

  1. ' *************************************
  2. ' *                                   *
  3. ' *        Scheinwerfer 3 V1.0        *  
  4. ' *      Written by Chris Hodges      *  
  5. ' *                                   *
  6. ' *************************************
  7. '
  8. ' Dieses Programm simuliert einen Scheinwerfer.  
  9. ' Es sind Bilder bis 16 Farben erlaubt.  
  10. ' Au�erdem k�nnen die Farben des Bereichs, der nicht vom 
  11. ' Scheinwerfer bestrahlt wird, ge�ndert werden (siehe unten.)  
  12. ' Die Gr��e des Scheinwerfers kann durch die beiden Maustasten 
  13. ' manipuliert werden.
  14. ' Die Maus sollte nicht zu schnell bewegt werden.
  15. '
  16. Screen Open 1,320,16,32,0
  17. Flash Off : Screen Hide 1
  18. Screen Open 0,320,256,32,0
  19. Curs Off : Flash Off : Paper 0 : Cls 0
  20. For A=0 To 31 : Colour A,0 : Next 
  21. For A=1 To 20
  22.   Cls 31 : Ink 0 : Circle 48,48,A*2
  23.   Paint 48,48
  24.   Get Block A,0,0,96,96
  25. Next 
  26. Cls 0
  27. Load Iff "Test16.iff"
  28. Screen 1 : Get Palette 0 : Screen 0 : For A=0 To 31 : Colour A,0 : Next 
  29. Fill Logbase(4) To Logbase(4)+(Screen Width/8)*Screen Height,-1
  30. Limit Mouse 
  31. Screen 1
  32. For A=0 To 15
  33.   C=Colour(A)
  34.   ' Hier k�nnen vier vorgegebene Routinen benutzt werden:  
  35.   ' Gosub HALFBRIGHT: Verdunkelt das Bild  
  36.   ' Gosub INVERS    : Invertiert alle Farben   
  37.   ' Gosub BLACKWHITE: Grautonbild    
  38.   ' Gosub ZERO      : Alles schwarz  
  39.   Gosub BLACKWHITE
  40.   Colour A+16,C
  41. Next 
  42. Screen 0 : Fade 3 To 1
  43. A=10
  44. Hide 
  45. Do 
  46.   X=X Mouse-128 : Y=Y Mouse-40 : M=Mouse Key
  47.   Wait Vbl : Put Block A,X-48,Y-48,%10000
  48.   A=Min(Max(A+(M=1)-(M=2),1),20)
  49. Loop 
  50. End 
  51. INVERS:
  52.   C=$FFF-C
  53. Return 
  54. ZERO:
  55.   C=0
  56. Return 
  57. HALFBRIGHT:
  58.   R=(C and $F00)/$100
  59.   G=(C and $F0)/$10
  60.   B=C and $F
  61.   C=(R/3)*$100+(G/3)*$10+(B/3)
  62. Return 
  63. BLACKWHITE:
  64.   R=(C and $F00)/$100
  65.   G=(C and $F0)/$10
  66.   B=C and $F
  67.   C=(R+G+B)/3*$111
  68. Return